//分割数组中数字的数位
/*给你一个正整数数组 nums ，请你返回一个数组 answer ，你需要将 nums 中每个整数进行数位分割后，按照 nums 中出现的 相同顺序 放入答案数组中。

对一个整数进行数位分割，指的是将整数各个数位按原本出现的顺序排列成数组。

比方说，整数 10921 ，分割它的各个数位得到 [1,0,9,2,1] 。
1 <= nums.length <= 1000
1 <= nums[i] <= 10^5
*/
class Solution {
public:
    vector<int> separateDigits(vector<int>& nums) {
        vector<int> arr;
        for (int i = nums.size() - 1; i >= 0; i--) {
            while (nums[i]) {
                arr.push_back(nums[i] % 10);
                nums[i] /= 10;
            }
        }
        reverse(arr.begin(), arr.end());
        return arr;
    }
};



//到目标元素的最小距离
/*给你一个整数数组 nums （下标 从 0 开始 计数）以及两个整数 target 和 start ，请你找出一个下标 i ，满足 nums[i] == target 且 abs(i - start) 最小化 。注意：abs(x) 表示 x 的绝对值。

返回 abs(i - start) 。

题目数据保证 target 存在于 nums 中。
1 <= nums.length <= 1000
1 <= nums[i] <= 104
0 <= start < nums.length
target 存在于 nums 中
*/
class Solution {
public:
    int getMinDistance(vector<int>& nums, int target, int start) {
        int imin = 10001;
        for (int i = 0; i < nums.size(); i++) {
            if (nums[i] == target && imin > abs(i - start))
                imin = abs(i - start); // min(imin, abs(i - start));
        }
        return imin;
    }
};